package org.springblade.tms.module.car.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @projectName: BladeX
 * @package: org.springblade.tms.module.car.dto
 * @className: CarDto
 * @author: yr
 * @description: 车辆dto
 * @date: 2022/3/15 17:23
 */
@Data
@ApiModel(value = "Car对象", description = "车辆")
public class CarDto {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long id;
    /**
     * 车牌号
     */
    @ApiModelProperty(value = "车牌号")
    private String carNo;
    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    private String approvalStatus;
    /**
     * 车辆类型
     */
    @ApiModelProperty(value = "车辆类型")
    private String carType;
    /**
     * 运输物品类型(危货.普货)
     */
    @ApiModelProperty(value = "运输物品类型(危货.普货)")
    private String transportGoodsType;
    /**
     * 挂车车牌号
     */
    @ApiModelProperty(value = "挂车车牌号")
    private String bindCarNo;
    /**
     * 挂车行驶证号码
     */
    @ApiModelProperty(value = "挂车行驶证号码")
    private String certificationBindCarTransportNo;
    /**
     * 挂车校验有效期-开始
     */
    @ApiModelProperty(value = "挂车校验有效期-开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificationBindCarCheckValidStart;
    /**
     * 挂车校验有效期-结束
     */
    @ApiModelProperty(value = "挂车校验有效期-结束")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificationBindCarCheckValidEnd;
    /**
     * 牵引车行驶证号
     */
    @ApiModelProperty(value = "牵引车行驶证号")
    private String certificationCarTransportNo;
    /**
     * 牵引车校验有效期-结束
     */
    @ApiModelProperty(value = "牵引车校验有效期-结束")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificationCarCheckValidEnd;
    /**
     * 牵引车校验有效期-开始
     */
    @ApiModelProperty(value = "牵引车校验有效期-开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificationCarCheckValidStart;
    /**
     * 牵引车营运证号码
     */
    @ApiModelProperty(value = "牵引车营运证号码")
    private String certificationCarWorkNo;
    /**
     * 牵引车营运证有效期开始
     */
    @ApiModelProperty(value = "牵引车营运证有效期开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificationCarWorkValidStart;
    /**
     * 牵引车营运证有效期结束
     */
    @ApiModelProperty(value = "牵引车营运证有效期结束")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificationCarWorkValidEnd;
    /**
     * 挂车营运证号
     */
    @ApiModelProperty(value = "挂车营运证号")
    private String certificationBindCarWorkNo;
    /**
     * 挂车营运证有效期开始
     */
    @ApiModelProperty(value = "挂车营运证有效期开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificationBindCarWorkValidStart;
    /**
     * 挂车营运证有效期结束
     */
    @ApiModelProperty(value = "挂车营运证有效期结束")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificationBindCarWorkValidEnd;
    /**
     * 车架号/车辆识别号
     */
    @ApiModelProperty(value = "车架号/车辆识别号")
    private String carFlag;
    /**
     * 交强险
     */
    @ApiModelProperty(value = "交强险")
    private String vehicleInsurance;
    /**
     * 罐体报告编号
     */
    @ApiModelProperty(value = "罐体报告编号")
    private String containerNo;
    /**
     * 罐体报告有效期-开始
     */
    @ApiModelProperty(value = "罐体报告有效期-开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime containerReportValidStart;
    /**
     * 罐体报告有效期-结束
     */
    @ApiModelProperty(value = "罐体报告有效期-结束")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime containerReportValidEnd;
    /**
     * 是否启用GPS
     */
    @ApiModelProperty(value = "是否启用GPS")
    private String enableGps;
    /**
     * 牵引车行驶证照片
     */
    @ApiModelProperty(value = "牵引车行驶证照片")
    private String carTransportPic;
    /**
     * 挂车行驶证照片
     */
    @ApiModelProperty(value = "挂车行驶证照片")
    private String bindCarTransportPic;
    /**
     * 牵引车营运证照片
     */
    @ApiModelProperty(value = "牵引车营运证照片")
    private String carWorkPic;
    /**
     * 挂车营运证照片
     */
    @ApiModelProperty(value = "挂车营运证照片")
    private String bindCarWorkPic;
    /**
     * 罐体报告照片
     */
    @ApiModelProperty(value = "罐体报告照片")
    private String containerReportPic;
    /**
     * 车辆颜色
     */
    @ApiModelProperty(value = "车辆颜色")
    private String carColor;
    /**
     * 最大载重
     */
    @ApiModelProperty(value = "最大载重")
    private BigDecimal maxLoad;
    /**
     * 货箱容积
     */
    @ApiModelProperty(value = "货箱容积")
    private BigDecimal maxCapacity;
    /**
     * 高
     */
    @ApiModelProperty(value = "高")
    private BigDecimal attrH;
    /**
     * 长
     */
    @ApiModelProperty(value = "长")
    private BigDecimal attrD;
    /**
     * 宽
     */
    @ApiModelProperty(value = "宽")
    private BigDecimal attrW;
    /**
     * 紧急切断阀是否安装
     */
    @ApiModelProperty(value = "紧急切断阀是否安装")
    private String esv;
    /**
     * 是否安装灭火器
     */
    @ApiModelProperty(value = "是否安装灭火器")
    private String fireOff;
    /**
     * 交强险有效期-开始
     */
    @ApiModelProperty(value = "交强险有效期-开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime vehicleInsuranceValidStart;

    /**
     * 交强险有效期-结束
     */
    @ApiModelProperty(value = "交强险有效期-开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime vehicleInsuranceValidEnd;

    /**
     * 气罐车使用证
     */
    @ApiModelProperty(value = "气罐车使用证")
    private String certificateTankTruck;

    /**
     * 压力容器有效期-开始
     */
    @ApiModelProperty(value = "压力容器有效期-开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificateTankTruckStart;


    /**
     * 压力容器有效期-结束
     */
    @ApiModelProperty(value = "压力容器有效期-结束")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificateTankTruckEnd;

    /**
     * GPS设备号
     */
    @ApiModelProperty(value = "GPS设备号")
    private String gpsEquipmentNumber;
    /**
     * 发动机号
     */
    @ApiModelProperty(value = "发动机号")
    private String engineNumber;
    /**
     * 车辆排放阶段
     */
    @ExcelProperty("车辆排放阶段")
    @ApiModelProperty(value = "车辆排放阶段")
    private String emissionStage;
    /**
     * 环保清单照片
     */
    @ExcelProperty("环保清单照片")
    @ApiModelProperty(value = "环保清单照片")
    private String protectionList;
}
